Win10重启后自动进入BIOS设置界面背后的技术原理

您所在的位置:网站首页 bios中/ Win10重启后自动进入BIOS设置界面背后的技术原理

Win10重启后自动进入BIOS设置界面背后的技术原理

2023-03-09 05:31| 来源: 网络整理| 查看: 265

随着BIOS Fast Boot的功能逐渐普及,和人民群众对“生活质量”要求的不断提高,传统BIOS十几秒钟等待用户按键进入设置界面的功能越来越不受待见。等待接受按键时间越来越少,甚至没有。这就造成一个问题:用户如果按照传统方法进入BIOS变得越来越困难,有时候变得不太可能

其实UEFI对此专门有方案解决。我在这篇颇受欢迎的文章中:

文中后半部分对如何操作专门有所介绍。但还是有网友反馈这个方法在他的机器上并不奏效,这是怎么回事呢?我们还是抱着要知其然也要知其所以然的态度,从原理上到实践,由里及表通透进行讲解。

Win10中如何让下次重启直接进入BIOS设置?

传统BIOS进入设置界面的快捷键没有统一定义,加上启动时间的减少,让按快捷键进入BIOS设置很不方便。其实,自Windows 8开始,微软增加了Advanced startup options界面为大家解决了到底按哪个键的问题。不过这个选项隐藏的比较深,需要不少步骤才能到达,也有不少种选择,我们仅仅介绍Windows10的步骤,Win8已经淘汰,这里就先行略过了。

一般方法

点Start按钮,选择Settings:

在Settings窗口,双击Update & Security

接下来点击Recovery里面Advanced startup中的Restart now按钮:

接下来选择Troubleshoot:

Troubleshoot菜单出来后,选择Advanced options:

终于看到UEFI Firmware Settings了:

点击后出现真正的重启选项:

我们这次重启后会直接进入BIOS界面,不必再烦恼按那个键的问题了!

快捷方法:

好多步骤啊,有没有省事的做法呢?当然有,必须有!找到电源按钮,在按住Shift键的情况下选择restart:

这样你就直接进入选择Troubleshoot界面了:

这种方法的好处是你甚至不用登陆,可以直接在login界面右下角那个电源按钮那里直接操作。

命令行:

程序员当然不能放过命令行:

会有个倒计时窗口出现,数秒钟之后还是会进入选择Troubleshoot界面:

这样的方法还是非常方便的,也避免了快捷键不确定和不及时。那么Windows是如何通知BIOS下次启动时,直接进入设置界面,而不是再次启动操作系统呢?

原理

UEFI的解决方案就隐藏在UEFI Spec里面:

来源:UEFI Spec 2.10

操作系统通过OSIndications和OsIndicationsSupported两个UEFI variable(存在nvram中)来和BIOS进行协商。BIOS通过Bit Mask OsIndicationsSupported告诉OS BIOS它支持哪种功能,而OS在重启动前,通过OSIndications来下达具体的“指示”。具体“指示”有哪些呢?

来源:UEFI Spec 2.10

重启进入BIOS设置界面用的就是第一个:EFI_OS_INDICATIONS_BOOT_TO_FW_UI,OS在通过OsIndicationsSupported探知BIOS支持此操作后,在OSIndications中写入此域;下次启动后,BIOS代码检查OSIndications variable,知道要让它进入设置界面而不是直接启动,于是照此处理即可。

结论

那么问题来了,既然如此好用,为什么在有的板子上不行呢?据我判断有两种可能,主板BIOS UEFI版本太老,或者主板BIOS没有打开相应功能。

最后给大家出个思考题:我们知道Win10启动失败后,下次启动后会进入专有的Recovery环境,它在技术上是怎么做到的呢?欢迎大家留言。提示:答案就在原理一节的图片中。

欢迎大家关注本专栏和用微信扫描下方二维码加入微信公众号"UEFIBlog",在那里有最新的文章。关注公众号,留言“资料”,有一些公开芯片资料供下载。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3